<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    /* 
    同步回调
    异步回调
    */

    /* 同步回调 */
    [1, 2, 3].forEach(item => { // 同步回调
      console.log(item)
    })
    console.log('forEach之后')

    new Promise((resolve, reject) => { // executor 执行器
      console.log('executor')
      // 执行异步任务
      // 如果成功了, 调用resolve将promise变为成功的状态, 并指定成功的value
      // 如果失败了, 调用reject将promise变为失败的状态, 并指定失败的reason
    })
    console.log('new Promise之后')
    
    /* 异步回调  需要放到对应的队列中, 再取出执行 */
    setTimeout(() => { // 异步回调
      console.log('定时器回调执行')
    }, 0);
    console.log('启动定时器后')

    Promise.resolve(1).then(value => { // promise成功/失败的回调   异步回调
      console.log('onResolved()')
    })
    console.log('.then()之后')
   
  </script>

</body>
</html>